package com.example.teachingSystem.service;

import com.example.teachingSystem.pojo.entity.SysRole;
import com.baomidou.mybatisplus.extension.service.IService;
import com.example.teachingSystem.pojo.form.role.AddRoleForm;
import com.example.teachingSystem.pojo.form.role.ChangeRoleInfoForm;
import com.example.teachingSystem.pojo.form.role.RolePageQuery;
import com.example.teachingSystem.pojo.vo.OptionVo;
import com.example.teachingSystem.pojo.vo.RoleInfoVo;
import com.example.teachingSystem.utils.result.PageResult;
import com.example.teachingSystem.utils.result.Result;

import java.util.List;

/**
* @author 86147
* @description 针对表【sys_role(角色表)】的数据库操作Service
* @createDate 2023-11-27 21:43:54
*/
public interface SysRoleService extends IService<SysRole> {
    Result<RoleInfoVo> getRoleById(Long id);

    PageResult<RoleInfoVo> getRolePage(RolePageQuery rolePageQuery);

    Result<String> addRole(AddRoleForm addRoleForm);

    Result<String> updateRole(ChangeRoleInfoForm changeRoleInfoForm);

    Result<String> changeRoleStatus(Long id,boolean isDisabled);

    Result<String> changeRoleDeleted(Long id,boolean isDeleted);

    Result<List<OptionVo>> getRoleOptions();
}
